package com.alexvasilkov.android.commons.utils; import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.provider.ContactsContract; public class IntentsHandler { /** * Call this method from {@link android.app.Activity#onActivityResult(int, int, android.content.Intent)} method to * get picked contact info. */ public static ContactInfo onPickPhoneResult(Context context, Intent data) { if (data == null || data.getData() == null) return null; Cursor c = null; try { c = context.getContentResolver().query(data.getData(), new String[]{ ContactsContract.CommonDataKinds.Phone.CONTACT_ID, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER}, null, null, null); if (c != null && c.moveToFirst()) { return new ContactInfo(c.getInt(0), c.getString(1), c.getString(2)); } } finally { if (c != null) c.close(); } return null; } public static class ContactInfo { public final int id; public final String name; public final String phone; public ContactInfo(int id, String name, String phone) { this.id = id; this.name = name; this.phone = phone; } } }